1. Field of the Invention
The present invention relates to a maximum likelihood decoder for reproducing digital data from a magnetic disk and a magnetic tape and an information reproducing apparatus corresponding thereto.
2. Description of the Related Art
Magnetic recording apparatuses sometimes use modulation codes corresponding to partial response class IV PR (1, 0, -1) or class I PR (1, -1). FIG. 1 shows a block diagram of a recording/reproducing system using modulation codes corresponding to class IV. An input signal is modulated by a channel encoder 11 and then recorded. The recorded signal is differentiated by a magnetic recording/reproducing system 12. The differentiated signal is reproduced as a signal containing noise. The magnetic recording/reproducing system 12 is integrally composed of a recording circuit, a recording head, a record medium, a reproducing head, and a reproducing circuit. In addition, the magnetic recording/reproducing system 12 includes a system polynomial 1-D portion 13 and an adder 14. The adder 14 adds the input signal received from the system polynomial 1-D portion 13 and noise. The reproduced signal is equalized corresponding to the partial response class IV by an equalizer. The equalized signal is decoded corresponding to maximum likelihood decoding method by a Viterbi decoder 16. The decoded signal is converted into the original data by a channel decoder 17.
The system polynomial of the partial response class IV (namely, PR(1, 0, -1)) is expressed by G(D)=1-D.sup.2. The system polynomial of the partial response class I (namely, PR(1, -1)) is expressed by G(D)=1-D. Thus, PR(1, 0, -1) is treated as two independent PR(1, -1)s that are alternately nested in time slots. Thus, as shown in FIG. 2, the partial response decoder 1 can be divided into two PR(1, -1) decoders 2 and 3. In other words, the input signal sequence is divided into an even signal sequence and an odd signal sequence by an input switcher 4. The even signal sequence is supplied to the decoder 2. The odd signal sequence is supplied to the decoder 3. After the individual signal sequences are processed by the respective decoders, the resultant signal sequences are composed by an output switcher 5. In such a manner, systems of combinations of PR(1, -1) and various modulation codes have been widely used.
As exemplified by the Viterbi decoder 16 shown in FIG. 1, the maximum likelihood decoding method is well known as a decoding method. In the maximum likelihood decoding method, with values of sample points before and after a considered point, a maximum likelihood signal sequence is estimated. The Viterbi decoder has an ACS (Add Compare Select) portion and a path memory portion. The ACS portion calculates a path metric and thereby estimates a survival path. The path memory portion obtains decoded results with the estimated results. The process for calculating a path metric is performed by comparing a path metric value of one sample prior with a branch metric value for each path.
Another technique has been proposed as for example U.S. Pat. No. 5,095,484. In this technique, the partial response and matched spectral null code (hereinafter referred to as MSN code) that allows the minimum Euclidean distance between each code to increase are combined and then Viterbi-decoded so as to enhance the detection performance. For example, in a system of which the PR(1, -1) channel and 8/10 MSN code are combined, a trellis diagram shown in FIG. 3 is obtained. In FIG. 3, symbols on the left represent detected results of the Viterbi decoder and decoder input (2 bits each). For example, 01/-11 represents that when two bits -1 and 1 are input to the Viterbi decoder, the detected results are two bits 01.
In this case, the path metric is calculated by Formula 1.
(Formula 1) EQU pm'.sub.1 =max{pm.sub.1 +bm.sub.-11, pm.sub.2 +bm.sub.01 } EQU pm'.sub.2 =max{pm.sub.1 +bm.sub.0-1, pm.sub.2 +bm.sub.1-1, pm.sub.3 +bm.sub.-10, pm.sub.4 +bm.sub.00 } EQU pm'.sub.3 =max{pm.sub.1 +bm.sub.00, pm.sub.2 +bm.sub.10, pm.sub.3 +bm.sub.-11, pm.sub.4 +bm.sub.01 } EQU pm'.sub.4 =max{pm.sub.3 +bm.sub.0-1, pm.sub.4 +bm.sub.1-1, pm.sub.5 +bm.sub.-10, pm.sub.6 +bm.sub.00 } EQU pm'.sub.5 =max{pm.sub.3 +bm.sub.00, pm.sub.4 +bm.sub.10, pm.sub.5 +bm.sub.-11, pm.sub.6 +bm.sub.01 } EQU pm'.sub.6 =max{pm.sub.5 +bm.sub.0-1, pm.sub.6 +bm.sub.1-1 }
In Formula 1, a path metric value in a state 1 at predetermined time is denoted by pm.sub.1. A branch metric in the case that the decoder input is v.sub.1 and v.sub.2 is denoted by bmv.sub.1 v.sub.2. The resultant new path metric value is denoted by pm'.sub.1.
Assuming that the actually observed sample value is denoted by z.sub.1 and z.sub.2 and the amplitude reference level is denoted by R, bmv.sub.1 v.sub.2 is calculated by Formula 2.
(Formula 2) EQU bm.sub.v1v2 =-(v.sub.1 R-z.sub.1).sup.2 -(v.sub.2 R-z.sub.2).sup.2 =-v.sub.1.sup.2 R.sup.2 +2v.sub.1 Rz.sup.1 -z.sub.1.sup.2 -v.sub.2.sup.2 R.sup.2 +2v.sub.2 Rz.sub.2 -z.sub.2.sup.2
The amplitude reference level R has an amplitude value +1 that is a target value of AGC when there is no equalizing error.
To select an optimum path, a selected term of Formula 1 is significant rather than the absolute value of the path metric. Thus, even if the same value is multiplied by or added to every term of the expressions of Formula 1, the results are the same. Thus, when the following expression is calculated as bm, the square calculations can be omitted. EQU 1/R.multidot.(bm+z.sub.1.sup.2 +z.sub.2.sup.2)
Thus, bm used for the calculations can be obtained by Formula 3. Since a calculation of Z.sub.2.sup.2 is omitted, the resultant calculations can be simplified.
(Formula 3) EQU bmv.sub.1 v.sub.2 =-v.sub.1.sup.2 +2v.sub.1 z.sub.1 -v.sub.2.sup.2 R+2v.sub.2 z.sub.2
The ACS portion calculates each expression of Formula 1 with such values and outputs a term selected in each expression to the path memory. The selected term in each expression represents the maximum likelihood branch in each state.
Calculation expressions varies in each branch metric. The overall process speed of the Viterbi decoder is limited by a branch that takes the longest calculation time. Thus, even if there is one branch metric that requires a complicated branch metric, the overall process speed is decreased.
When three bits 1, 0, -1 are applied for Formula (3), branch metrics of individual input patterns are expressed by Formula 4. However, due to the characteristics of PR(1, -1), since input patterns 11 and -1-1 do not exist, the calculation expressions thereof are omitted.
(Formula 4) EQU bm.sub.-10 =-R-2z.sub.1 EQU bm.sub.-11 =-2R-2z.sub.1 +2z.sub.2 EQU bm.sub.0-1 =-R-2z.sub.2 EQU bm.sub.00 =0 EQU bm.sub.01 =-2R+2z.sub.2 EQU bm.sub.1-1 =-2R+2z.sub.1 -2z.sub.2 EQU bm.sub.10 =-R+2z.sub.1
A calculation of which a constant 2 is multiplied can be simply accomplished by a simple bit shift operation. Thus, this calculation can be omitted. However, since each of bm.sub.-11 and bm.sub.1-1 are obtained by the sum of three terms, their calculation time becomes long. Thus, these terms adversely affect the overall processing speed of the decoder.